#include "widget.h"
#include "ui_widget.h"
#include <QPainter> // 画家
#include <QPen> // 画笔
#include <QBrush> // 填充

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    x = 0;
}

Widget::~Widget()
{
    delete ui;
}
void Widget::paintEvent(QPaintEvent *)
{
    /*创建画笔*/
    QPen pen;
    pen.setWidth(5); // 设置线宽
    /*创建画家对象*/
    // QPainter p(this);
    QPainter p; // 创建画家对象
    QBrush qb; // 创建画刷
    p.begin(this); // 指定窗口为绘图设备
    /*创建填充*/


    /*绘图操作*/
//    pen.setColor(Qt::red); // 设置画笔颜色
    pen.setColor(QColor(100, 2, 30)); // rgb设置画笔颜色
    pen.setStyle(Qt::DotLine); // 设置风格
    p.setPen(pen);// 将笔给画家
    qb.setColor(Qt::blue); // 设置画刷颜色
    qb.setStyle(Qt::SolidPattern); // 设置画刷风格
    p.setBrush(qb);
    //画背景图
//    p.drawPixmap(0, 0, width(), height(), QPixmap("../backimg/bk.jpg"));
//    p.drawPixmap(rect(), QPixmap("../backimg/bk.jpg"));
    // 画直线
    p.drawLine(50, 50, 50, 150);
    p.drawLine(50, 50, 150, 50);
    // 画矩形
    p.drawRect(150, 150, 100, 50);
    // 画圆
    p.drawEllipse(QPoint(150, 150), 50, 25);
    // 画笑脸
    p.drawPixmap(x, 200, 100, 100, QPixmap("../backimg/bk.jpg"));
    p.end();
}

void Widget::on_pushButton_clicked()
{
    x += 20;
    if((x + 80) > width())
    {
        x = 0;
    }
    // 刷新窗口
    update();
}
